技術問答
技術文章
iT 徵才
Tag
聊天室
2025 鐵人賽
登入/註冊
問答
文章
Tag
邦友
鐵人賽
搜尋
2025 iThome 鐵人賽
DAY
18
0
自我挑戰組
從零開始學習LeetCode
系列 第
18
篇
Day 18 Rotate Array
17th鐵人賽
pinggg
2025-10-02 22:15:29
68 瀏覽
分享至
題目:給定一個長度為 n 的整數陣列 nums,以及一個整數 k,請將陣列「向右旋轉」k 步
解法一
直觀,但效率差
適合「第一次接觸」的同學練習
註解
nums.pop() → 移除並回傳陣列最後一個元素
nums.insert(0, last) → 插到陣列的最前面
重複 k 次後,陣列就被旋轉
理解
想像你有一列人排隊:
[1,2,3,4,5,6,7]
旋轉一次,就是把最後一個人(7)拉到最前面:
[7,1,2,3,4,5,6]
旋轉三次,就依序拉出 7、6、5 到最前面
這樣就得到結果 [5,6,7,1,2,3,4]
缺點是效率不好,因為每次 insert 都要移動其他元素
解法二
額外陣列
速度快,但需要 O(n) 額外空間
註解
(i + k) % n → 計算新位置,保證不會超出邊界
建立新陣列 newArr 來存放旋轉後的結果
最後再把結果覆蓋回原本 nums
理解
就像你要搬家:
每個人(數字)都有一個新位置(用公式算出來)
搬到新房子(newArr)後,再全部搬回舊房子(nums)
解法三
不需要額外空間,效率高
註解
reverse(start, end) → 自己寫一個函式,交換陣列前後元素
整體操作順序:
(1)[1,2,3,4,5,6,7] → [7,6,5,4,3,2,1]
(2)前 k=3 個反轉 → [5,6,7,4,3,2,1]
(3)後面反轉 → [5,6,7,1,2,3,4]
理解
就像把一張紙上的數字「翻轉」幾次:
(1)先把整張紙上下顛倒
(2)把前 k 個翻回來
(3)把後面翻回來
最後就得到「旋轉」的效果
留言
追蹤
檢舉
上一篇
Day 17 Move Zeroes
下一篇
Day 19 Move Zeroes II – Partition Array by Parity
系列文
從零開始學習LeetCode
共
30
篇
目錄
RSS系列文
訂閱系列文
0
人訂閱
26
Day 26 Valid Parentheses
27
Day 27 Longest Common Prefix
28
Day 28 Valid Palindrome
29
Day29 First Unique Character in a String
30
Day30 總結
完整目錄
熱門推薦
{{ item.subject }}
{{ item.channelVendor }}
|
{{ item.webinarstarted }}
|
{{ formatDate(item.duration) }}
直播中
立即報名
尚未有邦友留言
立即登入留言
iThome鐵人賽
參賽組數
902
組
團體組數
37
組
累計文章數
19866
篇
完賽人數
529
人
看影片追技術
看更多
{{ item.subject }}
{{ item.channelVendor }}
|
{{ formatDate(item.duration) }}
直播中
熱門tag
看更多
15th鐵人賽
16th鐵人賽
13th鐵人賽
14th鐵人賽
17th鐵人賽
12th鐵人賽
11th鐵人賽
鐵人賽
2019鐵人賽
javascript
2018鐵人賽
python
2017鐵人賽
windows
php
c#
linux
windows server
css
react
熱門問題
.NET C# 資料庫 CRUD 專案,實務上會怎麼安排單元測試 / 整合測試?xUnit 可以直接拿來寫整合測試嗎?
關於中華nokia數據機DHCP問題
.NET FRAMEWORK 3.5 安裝
OUTLOOK無法搜尋、無法建立索引且無法執行Windows Search
鼎新ERP WorkFlow GP3升級到AiGP
不能關機
Fortigate防火牆的選擇??
k8s CKS/CKAD 這兩張推薦去考嗎?
Windows更新像跑馬燈以致無法進入桌面
還能怎麼加固安全?
熱門回答
.NET FRAMEWORK 3.5 安裝
鼎新ERP WorkFlow GP3升級到AiGP
Fortigate防火牆的選擇??
網路電話VoIP Gateway被駭客盜打的問題??? 網路電話:Mini voip router 福憶電子
關於中華nokia數據機DHCP問題
熱門文章
再見了 Ingress NGINX
[技術實戰] 拒絕雲端洩密!我用 Docker + Llama 3 打造工程師專用的「100% 離線」AI 研發資料庫
坊間ISO課程個人理解
【2025 最強 AI IDE】Kiro Spec Mode:30 分鐘從 0 做出可部署 AWS 專案,VS Code 真的要掰了
Excel下拉選單自訂秘技,資料篩選更快速
IT邦幫忙
×
標記使用者
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{ result.label }}
{{ result.account }}